Enterprise-wide security system for computer devices

ABSTRACT

A system and method for securing data in mobile devices includes a computing node and a plurality of mobile devices. A node security program executed in the computing node interfaces with a device security program executed at a mobile device. The computing node is responsible for managing the security based on a node security profile interpreted by a node security program executed in the computing node. A device discovery method and arrangement also detects and locates various information about the mobile devices based on a scan profile.

TECHNICAL FIELD

The present invention relates in general to the field of data securityand more particularly to providing data security to mobile devices.

BACKGROUND

Recent advances in hardware and communication technologies have broughtabout the proliferation of powerful mobile devices ranging from notebookcomputers to much smaller personal digital assistants (PDAs) thatoperate over wired and wireless networks. These mobile devices (alsoknown as handheld devices) operate on various platforms, such as palmcomputing platform, Windows CE, etc. Other types of mobile devicesinclude paging and messaging devices, laptop computers, data-capablesmart phones, etc. These devices can provide users with network accessconnectivity, which allows users to be quickly notified of changingevents, and provide them with the resources necessary to respond evenwhen in transit. In this way, users can be given the power to accessmission critical information in quick and reliable manner. For example,data generated by client applications running on a wide variety ofmobile devices may be transported over networks having various accessprotocols and wired and wireless links. One such protocol isTransmission Control Protocol/Internet Protocol (TCP/IP), which isdesigned to connect computer systems that use different operatingsystems and network technologies. Many popular network applications havebeen built directly on top of the TCP over the past decade, malingTCP/IP a de-facto network access protocol standard.

Many personal computer users use Personal Information Management (PN)applications such as an address book, a daily organizer, and a To-Dolist application-on their personal computers and mobile devices. Thedata for these PIMS are stored in corresponding databases at thepersonal computers and mobile devices. Often, data in these databasesmust be synchronized in order to maintain data uniformity. Thesynchronization of data between devices of this type is known. Forexample, U.S. Pat. No. 6,006,274 describes a “Method and Apparatus Usinga Pass Through Personal Computer Connected to Both a Local CommunicationLink and a Computer Network for Identifying and Synchronizing aPreferred Computer with a Portable Computer”. Also, U.S. Pat. Nos.6,000,000 and 5,884,323 both describe an “Extendible Method andApparatus for Synchronizing Multiple Files on Two Different ComputerSystems.” Generally, the synchronization process is activated either bydetecting a mobile device on a cradle or by manual press of a button.The synchronization process proceeds to synchronize data for severaldifferent applications that run on the mobile devices with data forcorresponding application on other computers.

As society continues to adopt handheld devices as a standard computingplatform and applications become more powerful with the standardizationof wired and wireless computing, security threats to data stored inthese types of mobile devices have become a serious concern and havecreated a heightened awareness and increased need for security. In fact,the U.S. Air Force Research Laboratory (AFRL), which develops some ofthe government's most advanced technologies, is crafting a policy todeal with security risks for data stored in mobile devices.

Various types of security software incorporating different data securityencryption standards have been used in the past for securing network,desktop, laptop and PDA environments. On such suit of software is calledTrusted Mobility Suite™ offered by Trust Digital™, which is used to setaccess control, encryption, and other parameters and push them to suchmobile devices as Palm Pilot™, Pocket PC™, Blackberry™ or Symbian OSdevices to protect against fraud and theft, sabotage, malicious hackingand other adverse exposure caused by data compromise. For example, at anetwork level, PDASecure™ Virtual Private Network provides securecommunication among mobile devices or between mobile devices and routersand servers. Mobile DesktopSecure™ is a security and encryption softwaredesigned to protect files, data, applications, databases, directories,or an entire hard drive. It is also used to push security profilescontaining defined security policies from a server to protect laptopsand desktops within a network. Generally, Trusted Mobility Suite™implements security using a graphical user interface (GUT) that allowsadministrators and users to secure all or selected applications. In thisway, the users and administrators can selectively secure application(s)from unwanted and unauthorized access.

Trusted Mobility Suite™ manages data security for mobile devices atdifferent levels. At a higher server level Trusted Mobility Server™deploys, manages, and secures networks containing mobile devices using acentralized management solution. A policy-profile editor is used to setsecurity parameters for groups of users based on defined securitypolicies. At a lower device level PDASecure™ encrypts the data on themobile device itself and offers-security management for those devicesthrough the Trust Mobility Server. Once installed on a mobile device,PDASecure™ provides for universal integration with all available mobiledevices on the network, without the requirement for moving data intoseparate, secured applications. Also, Trusted Mobility SoftwareDevelopment Kit™ allows software developers to incorporate TrustDigital's Mobility Framework, comprising security, encryption, andcentralized rule-based management technologies into their products, formobile/PDA users.

Also, U.S. Pat. No. 6,158,010 discloses a system and method formaintaining security in a distributed computing environment thatcomprises a policy manager located on a server for managing anddistributing a security policy, and an application guard located on aclient for managing access to securable components as specified by thesecurity policy. A global policy specifies access privileges of the userto securable components. The policy manager may then preferablydistribute a local client policy based on the global policy to theclient. An application guard located on the client then manages accessto the securable components as specified by the local policy.

Implementation of comprehensive security policies in networks thatsupports large number of mobile devices has become an important issuefor many enterprises, particularly in view of complexities associatedwith supporting various hardware and software platforms in terms ofnetwork architectures, protocols, device types, etc. Add to thiscomplexity, the various situations under which data security may bebreached, either on the network side or on the device side.Additionally, due to availability of limited memory and processingresources, creating security programs for mobile devices is much morecomplicated than that of larger computers. Therefore, there exists aneed for an efficient and flexible system and method for securing datain mobile devices used under varying operating environments.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram of a system that implements security control andmanagement of the present invention.

FIG. 2 is a block diagram of a computing node and devices that operatewithin the system shown in FIG. 1.

FIG. 3 is an exemplary security profile for setting security parametersfor the computing node and device.

FIG. 4 is an exemplary diagram of an interface for setting securityparameters for a computing node.

FIG. 5 is a diagram for interfacing with applications in a mobiledevice.

FIG. 6 is a diagram of an interface for setting security parameters in amobile device.

FIG. 7 is a block diagram of a an exemplary security system inaccordance with the present invention.

FIG. 8 is a diagram for applying a discovery method in accordance withone aspect of the present invention to a network.

FIG. 9 is a diagram of an interface for information discovered in thediscovery method of the invention.

FIG. 10 is a diagram of a reporting interface based on informationgathered by the discovery method of the invention.

SUMMARY OF THE INVENTION

Briefly, according to one aspect, the present invention relates tosecuring a computer system that includes one or more mobile devices anda computing node. A node security program executed in the computing nodeinterprets a node security profile. The node security profile has aformat, including text, .ini., binary, XML, etc. that allows forinterpretive processing by the node security program to determine one ormore security parameters. The present invention then manages thesecurity processes between the computing node and one or more mobiledevices based on the security parameters as determined by interpretingthe node security profile. The security processes can include any one ofsecuring a storage device, data, file, program and application in eitherone of the computing node and the one or more mobile devices or otherresources such as removable storage media that can be connected to thecomputing node or mobile devices. In effect, the computing node, basedon the security parameters specified by the node security profile,protects both the computing node and the mobile devices (or otherresources) from unauthorized incoming and outgoing data processes. Theseprocesses are secured by authorizing, denying, preventing, disabling,locking and password protecting data synchronization, data transfer,data query, data collection, network access, program execution, and datamanipulation, including unauthorized deletions and additions.

According to some of the more detailed features of the presentinvention, security parameters can have attributes relating to a data,file, security profile, application and program. Such attributes can beexpressed in terms of size and type. The security parameter can relateto temporal or position attributes. Temporal attributes include date,minute, hour, week, month and year. Position attributes include positiondetermined by various positioning techniques, e.g. GPS, zip code,address, region, and location. The security parameters can also beexpressed in terms of a serial number, a model number, a softwarelicense number, mobile device type, computing node type, connection typeand network type, wither wired or wireless network. The connection typessupported by the invention include direct connection and an off-lineconnection between the computing node and the one or more mobile devicesor resources. The security parameter can also be expressed in termsphysical address, network resource ID, IP address, domain name, clientstation ID, mobile device ID or server ID. The security parameters canalso relate to handling guest and unknown devices as well as managing aVPN.

According yet other more detailed features of the present invention, adevice security profile, which sets device security parameters, can betransferred to the mobile devices by accessing a server station, centralstation or computing node. The device security profile is interpreted bya device security program running on the mobile device to determine thesecurity parameters that control the mobile device. The device securityprofile can also be transferred based on temporal or position attributesand be periodically updated as necessary. The device security profilecan also be transferred as a part of a data synchronization processbetween the computing node and a mobile device. The present inventioncan lock unauthorized or under some circumstances even authorized mobiledevices attempting to access the system, for example by transmitting asecurity software that locks the intruding device. The node securityprofile and device security profiles can be transmitted using push orpull technology or an over the air protocol.

According to another aspect of the present invention a discovery methodfor mobile devices discovers information regarding the mobile devices byrunning a discovery program either remotely or locally. The discoverymethod of the invention includes detecting mobile device types,connection profiles, and location of mobile devices, among other things.The mobile device information are detected based on a registry resource,a file resource, a process resource, a network management parameter, adata format, a packet format, a synchronization log entry, a directorystructure or a database entry.

According to other more detailed features of this aspect of the presentinvention, the discovery method requires scanning the computer systembased on a scan profile to detect the one or more mobile devices. Thescan profile defines discovery rules such as network, domain, IPaddress, netmask, and computer identity to be scanned (or not to bescanned). The gathered information can be grouped in a variety offormats, such as based on mobile devices types. The information gatheredas a result can be analyzed, stored, reported or displayed.

DETAILED DESCRIPTION OF TIE INVENTION

Overview of the Present Invention

The system and method for securing data in mobile devices of the presentinvention includes a computing node and a plurality of mobile devices,as later defined below. A node security program or agent executed in thecomputing node interfaces with a device security program executed at amobile device, if one exists or interface with device resources. Thenode security program or agent can also interface with a node securityprogram executed at another computing node. The computing node oralternatively a security server can be responsible for sendinginformation and created profiles to other devices, nodes, or agents, andfor controlling the flow of information and data with devices, nodes oragents.

The node security program interprets a node security profile to controldata synchronization, data transfer, data query, data collection, fileand program access and execution or device discovery (as furtherdescribed below) in connection with one or more mobile devices or otherexternal resource discovery, for example external storage discovery likeUSB flash cards and memory. For example, the node security program canprevent synchronization of data between the mobile device and thecomputing node if not authorized in accordance with the node securityprofile information. Also, the node security program can prevent themobile device from collecting data, run programs and access files from aconnected network. The node security program can also prevent anyresource on the network or computing node to access resources, files,execute program, collect and query data on the mobile device, if notauthorized in accordance with the security profile information.

The information contained in the node security profile can be used todetermine whether a client station acting as a computing node isauthorized to transfer a device security profile that sets the securityparameters for a mobile device. If authorized, the device securityprofile is transferred or otherwise copied from the computing node tothe mobile device. A device security program, which is executed in themobile device, interprets the device security profile, for example, asan .ini or XML file, to set the transferred security parameters for themobile device. If not authorized, the node security program can lock theunauthorized mobile device, for example, by transmitting a devicesecurity application to be executed at the unauthorized mobile device,among other things. The device security profile can lock the device forusage, disable IR beam, Bluetooth, networking, sound and voiceinformation.

The node and device security profiles can define the security parametersin accordance with a defined security policy. As such, the device and/ornode security profiles can be created at a central station, such as aserver station, using a policy editor program. The security policy canalso be created, maintained and enforced at the computing nodes ormobile devices. The created device and node security profiles can betransferred to the computing node or the mobile devices over a networkusing a push technology, for example. Alternatively, upon request, apull technology may be used, for example in a wired/wireless network, totransfer the node and device security profiles to wired/wireless mobiledevices and computing nodes. Under any one of these arrangements, thecomputing node security profile and the device security profile can beupdated periodically by checking one or more designated web sites oraccessing a central station or server station, for example LDAP/Active,database, file directory repository. In a similar manner, the devicesecurity profile can be updated by accessing the computing node oraccessing a central station or server station. Also, more than onesecurity profiles can be created, transferred and stored on the mobiledevice.

Another aspect of the present invention is a discovery system and methodfor managing a computer network which involves scanning the networkbased on a scan profile to locate one or more mobile devices or devicetypes belonging to the network. For example, the scan profile cancontain information regarding at least one of network, domain andcomputer identity to be scanned. In the discovery process of theinvention, a node, computing node, IP address, or domain can be eitherincluded or excluded from being scanned. As such, the scan profile cancontain information regarding at least one of network, domain andcomputer identity not to be scanned. The type of the located mobiledevice is determined based on entries in an application registry,synchronization log, directory structure, a database or other protocolsfor example SNMP. The mobile device type information gathered throughthe discovery process can be used for managing security in the computernetwork. The located mobile devices can be grouped by type, domain, IPaddress for reporting and display purposes, identifying welcomed andun-welcomed mobile device as well as risk and vulnerability status.

Security Management System

Referring to FIG. 1, an exemplary system 100 that advantageouslyimplements the present invention in a network is shown. The system ofthe invention supports security amongst computing nodes 102 and mobiledevices 104, which are also referred to as user-devices. The computingnodes 102 can be any type of wired or wireless network node, a clientstation connected to a security application server 106 directly or via anetwork 122. The computing node 102 can also be a stand alone computer.The mobile devices 104 can be of any type. Under one feature of thepresent invention, various types of mobile devices operating within thesystem 100 can be discovered, located or detected for managing security.For example, the present invention can support any handheld device,personal digital assistant, phone, smart phone, pager, etc.

Under the present invention various types of data, files and profilescan be transferred between the computing nodes 102 and mobile devices104 over any supported transport layer, link, or physical connection.The transport protocol can be any suitable protocol, including TCP/IP,various telephony transport protocols, etc. The links can be wired orwireless links 110, 112. The wired links 110 can be twisted pair,coaxial cable, optical cable, etc. As described later in more detail,the wireless links 112 can support any number of over-the-air protocols.

In an exemplary embodiment, the system 100 of the invention isimplemented over a network that includes server stations 114, clientstations 116, and a host or central station 118 either directly or viaany collection of interconnected (public and/or private) networks thatare linked together by a set of standard or proprietary protocols. Thesystem of the present invention can also support various wireless linkswith defined protocols. Examples of such protocols include any one ofIEEE 802X, GSM, IS-136, IS-95, Bluetooth, etc.

The present invention may also be implemented over the Internet, adistributed network that supports the World Wide Web (“Web”). The Webrefers generally to both (i) a distributed collection of inter-linked,user-viewable hypertext documents that are accessible via the Internet,and (ii) the user and server software components which provide useraccess to such documents using standardized Internet protocols. A WebSite is a computer system that serves informational content over anetwork using the standard protocols of the World Wide Web. Typically, aWeb site corresponds to a particular Internet domain name and includesthe content associated with a particular organization.

As shown in FIG. 1, the security application server 106 can access asecurity database 120, which stores various data, including securityprofiles for the computing nodes 102 and mobile devices 104. Thedatabase 120 can also store collected and discovered information fromcomputing nodes 102 and mobile devices 104, including event log andaudit log information, etc. The security application server 106communicates with such devices through a network layer interface 122.The network used in connection with the present invention can use anyone of open- or proprietary-network standards. In a preferredembodiment, the system interconnections are based on an open systeminterconnection (OSI) model as proposed by the International StandardsOrganization (ISO).

It should be noted that the present invention need not be implementedover a network. In fact, the present invention can use a computing nodealone or as a part of a network as long as it possesses the processingpower to execute programs and applications in accordance with thepresent invention. When the computing node is not connected to anynetwork the mobile device access between the computing node 102 and themobile device 104 is an off-line access.

Managing Security Between Computing Node and Mobile Devices

Referring to FIG. 2, a block diagram for managing security between thecomputing node 102, mobile devices 104 and the resource device 124 isshown. A node security program or agent 202 is executed in the computingnode 102 for interfacing with a corresponding device security program oragent 204 executed at the mobile device 104 or resource device 124. Themobile device security is dictated by a device security profile 206 thatis interpreted by the device security program 204. The node securityprogram 202 interprets a node security profile 208 to determine one ormore security parameters for managing the security between the computingnode 102, resource device 124 and mobile devices 104, includingcontrolling transfer of data, files, device profiles, applications andprograms between the computing node 102, resource device 124 and themobile devices 104. For example, the security parameters derived frominterpreting the node security profile 208 may require preventing datasynchronization between one or both of the mobile device 104 andresource device 124. The computing node 102 acts as a single pointcommunication gateway between the mobile devices 104 and other networkresources 124. One such resource can be a storage device, e.g., a USBenabled flash or SD card. Such resources can include a synchronizationprogram. The node security profile 208 can enable the computing nodesecurity program 202 to monitor, scan, query, accept, deny, passwordprotect a request to create, maintain, terminate, modify, acommunication link or activity. Based on security parameters determinedby interpreting the node security profile 208, the node security program202 can prevent remote execution, utilization of any application or fileon the mobile device 104 or resources 124. Based on the determinedsecurity parameters, the computing node security program 202 can enableor disable synchronizing particular kind of data. For example, theinterpreted security parameters can specify that address book datacannot be synchronized.

As such, the security parameter can relates to authorizingsynchronization with the computing node 102 or other types of transferof data, files and programs applications between the computing node 102and devices 104 and 124. The information contained in the node securityprofile 208 can include information that alone or in combinationidentify an authorized or unauthorized computing node, an authorized orunauthorized user, an authorized or unauthorized mobile device, anauthorized or unauthorized central station, or an authorized orunauthorized network or resource, such as an external storage devices.The identity may be specified by physical address, serial number, modelnumber, device type, server or a network resource ID, software licensenumber (registration number), user ID etc. The authorized orunauthorized computing node can be specified relative to mobile deviceparameters, such as device type, etc. For example, certain computingnodes 102 may be authorized to synchronize data with certain specifiedmobile device types, but not authorized to synchronize data with otherdevice types and vice versa.

Computing Node Security

The computing node 102 manages all aspect of data, file, application,and device profile transfer acting as a gateway for all types of devicesecurity management. Among other things, the computing node 102 isresponsible for control of mobile device data in to and out of thecomputing node based on security parameters contained in the nodesecurity profile 208.

As stated above, the computing node 102 can be any type of wired orwireless network node, including a client station connected to thesecurity server 106 directly or via a wired or wireless network. In itssimplest form, the computing node 102 can be a stand alone computerstation. Also, the computing node 102 can itself be a mobile device 102that is responsible for managing security for other mobile devices 104.As stated above, the security parameters of the computing node 102 isdefined by the node security profile 208. For example, the node securityprofile 208 can set user access rights by enabling/disabling or passwordprotecting users' ability to configure the computing node 104 and/or itsprofile. Depending upon the security parameters set in the node securityprofile 208, corresponding changes are made to the registry key, file,or database entries of the computing node 102 or its configuration fileto enforce the node security profile parameters. Registry key, file, ordatabase entries along with functionality associated with the computingnode 102 are used to control and monitor all data synchronization,transfer, access, modification, or execution of files, applications,programs, profiles (e.g., security profiles) and processes that occurthrough the computing node by any data transport that relates toapplications that synchronize data with the devices 104 and 124. Thecomputing node security program 202 can also check, for example,periodically, for security profile updates.

Under another arrangement, the computing node security program 202 canbe deployed for a given IP range, network domain or user listautomatically. For example, the security server 106 can detect andidentify the computing nodes 102 that do not have or executecorresponding node security programs 202 within an IP range, networkdomain or user list. Once such determination is made, the server 106 canautomatically transmit the node security programs 208 to the so detectedIP range, network domain or user list.

The computing node profile can also have a validation life span thatcould indicate a time frame that the profile can be used or applied.This life span can be indefinite meaning that it can be used at any timeor can have a range of date and time.

Device Security

In contrast with the node security profile 208, which sets the computingnode security parameters, the device security profile 206 sets thesecurity parameters for the devices 104 and 124, as interpreted by thedevice security programs 204. The device security parameters includeencryption preferences, global (device) password, local (application orresource) password, access control to applications and resources, accesscontrol to the device, integrity protection against hackers and traps,file encryption options, port protection, communication protection(i.e., send and receive), ability to use wireless connections likeWi-Fi, 802.11, Bluetooth, controlling the content of the device likerestricting installing of some applications, etc.

In one embodiment of the invention, the information contained in thenode security profile 208 can be used to determine whether the computingnode 102 is authorized to transfer a device security profile 206 to amobile device 104. For example, upon a request initiated by the mobiledevice 104 when it connects it to the computing nodes 102. If thecomputing node 102 is an authorized computing node, as further describedbelow, upon request, the device security profile 206 is copied from thecomputing node 102 to the mobile device 104 using an established wiredor wireless link. Alternatively, upon connection or detection ofconnection to a security policy repository, server or computing node,the mobile device can request creation of a device security profile inreal-time bases or query to determine whether a device security profilehas been created for it at any time in past to be utilized whenrequested.

The device security program 204 executed in the mobile device 104interprets the transferred device security profile 206, as an .ini orXML file for example, to set the transferred security parameters for themobile device 104. If the computing node 102 is not authorized, the nodesecurity program 202 can lock the mobile device, for example, bytransmitting a device security application to be executed at theunauthorized mobile device, wipe or erase data on the device, or requiresystem administrator intervention, among other things. Both the deviceand node security profiles can be any type of file that can beinterpreted by corresponding device and node security programs, forexample a text or .ini file or a binary file or XML file.

According to another feature of the present invention the devicesecurity is also controlled temporarily in terms of time, for example,based on year, month, day, hour minute. The device security can also bebased on location as determined by any one of well known positioning orlocation determination techniques. Under this arrangement, devicesecurity profiles 206 can be created dynamically based on time and/orlocation of the device The created profiles can be transferred to thedevices 104 or 124 using any one of over-the-air protocols, for example.The security profiles (node or device) can be pre-loaded and activatedas needed. Under another arrangement, the device security program 204can be deployed for a given IP range, network domain or user list, orsynchronization ID automatically. For example, the security server 106or computing node 102 can detect and identify mobile devices 104 that donot have or execute corresponding device security programs 206 withinthe IP range, network domain or user list. Once such determination ismade, the node security program 202 can automatically transmit thedevice security programs 204 to the so detected IP range, networkdomain, user list, or synchronization ID.

Under another arrangement, the computing node profile has a validationlife span that could indicate a time flame that the profile can be usedor applied. This life span can be indefinite meaning that it can be usedat any time or can have a range of date and time.

Under another arrangement, multiple device profile can be loaded, storedand transferred to the mobile device, resources. Only one profile can beloaded and active at a time. The appropriate profile can become activebased on time, day, date, location or device sensing equipment. Forexample, as soon as the mobile device is moved to a secure location anexternal device sends appropriate signals to the mobile device to activea different device profile.

Creating Security Profiles

A node or device security profile 206 or 208 defines one or moresecurity features used for providing various security quality featuresand characteristics within the computer system 100 of the presentinvention. The security profiles 206, 208 can be created at the centralstation 118, the server station 106 or at a computing node 102. Asstated above, the node security profile 208 defines the parameters formanaging security in accordance with the present invention. The nodesecurity profile 208 is interpreted by the node security program 202 todetermine the security parameters. The present invention can use anysuitable tool for creating security profiles that have definedinterpretation rules, such those that govern .ini or XML files. Thesecurity profiles can be edited using corresponding editing tools. Ifthe security profile is a text profile, for example, a text editor canbe used for creating the node profile. The security profile can also bea binary or XML file interpreted by the node security program or agentbased on defined rules.

FIG. 3 shows an exemplary security profile. FIG. 4 illustrates anexemplary interface for setting security parameters for a computing nodein accordance with the invention. For example, the server access tabshows security parameters for communicating with a server. Other showntabs can be used to set device discovery, security policy transfer andevent log parameters. FIG. 5 illustrates an interface on a mobile devicefor activating various applications. FIG. 6 illustrates an interface fora device security profile that applies security parameters to an“Address” and “Expense” application.

The security of system 100 can be managed based on a centrallypromulgated security policy. Such security policy can be defined for anetwork or a public or private institution, such as corporations,schools, governmental agencies, etc. In one embodiment, the securityprofile can be created by running an editor program 702 (shown in FIG.7), which is designed to create security profiles based on a definedsecurity policy. The created node security profiles 208 can betransferred to one or more computing nodes 104 over a network, forexample, using a push or pull technology. The transfer of the securityprofiles can be relative to an IP range, a subnet mask or a networkdomain name. A pull technology may be used, for example, in a wirelessnetwork, to transfer node and device security profiles to wirelessmobile devices and computing nodes upon request. Under any one of thesearrangements, the computing node security profile 208 and the devicesecurity profile 206 can be updated periodically by checking one or moredesignated web/ftp sites or accessing a central station or serverstation. In a similar manner, the device security profile 206 can beupdated by accessing the computing node 102. The device security program204 can also automatically request device security profile 206 in realtime.

Synchronization

FIG. 7 illustrates a logical block diagram for the security system andmethod of the present invention. In one exemplary embodiment, the systemand method of the invention provide security for mobile devices 104 aresource device 124 that share information with computing nodes 102 thatstore data for corresponding applications running on each device. Forexample, a mobile device can execute two applications: a calendarapplication A and a contact application B for calendar and contactmanagement. Calendar and contact information for each applicationrunning in the mobile device is stored in calendar databases A andcontact database B, respectively. Similarly, the computing node 102 canexecute corresponding calendar applications A and contact application B,where calendar and contact information are stored in correspondingdatabases A and B in the computing device. In order to share datarelated to these applications, the databases A and B of the mobiledevice are synchronized with the databases A and B of the computingnode. A synchronization program 402 on the mobile device 104 and a peersynchronization program 404 on the computing node 102 perform thenecessary operations to synchronize information stored in the databases.A synchronization system for mobile devices is described in U.S. Pat.No. 5,727,202 entitled “Method and Apparatus for Synchronizing MultipleFiles On Two Different Computer Systems.”

Synchronization Security

The present invention provides security under various environmentsincluding: 1) securing one/multiple mobile devices that synchronize witha single computing node, for example, through a cradle, 2) securing asingle mobile device that synchronizes with multiple local computingnodes, for example, multiple client stations, 3) securing a mobiledevice that synchronizes with a remote computing node, such as a server,across a network using a local computing node, such as a client station,and 4) securing a mobile device synchronizing with a remote computingnode through a wired or wireless network. The present invention handleseach different environment appropriately with minimal user interaction.

In its simplest form, the system of the invention comprises a mobiledevice 104 coupled to a computing node 102, which is a stand alonecomputer station. The coupling is through a connection of the computerstation and a mobile device cradle 408 that is used for datasynchronization between the mobile device 104 and the computing node102. A user drops the mobile device 104 into the cradle 408 andactivates a button to initiate synchronization. The button activationcauses a synchronization program on the mobile device to be executed inaccordance with security parameters defined b the node security profile208. For example, the node security profile 206 can define the abilityto block, not to block, to prevent, to allow, to password protect, toenable, or to disable the synchronization operation, data transfer,operations to be performed as well as applications and data to be usedduring synchronization.

As shown in FIG. 7, other computers such as server and client stationscan also be coupled to the network The mobile devices 104 cansynchronize either with a local computing node 102 or a remote computingnode across the network. Once the security of provisions are verified,the synchronization program on the mobile device works with a peersynchronization program on the computing node.

Authorized Synchronization Station

According to this feature of the invention, computing nodes 102 can bedesignated as authorized or unauthorized synchronization stations withinan environment. A system administrator can designate specific computingnodes as authorized for one or more users or group of users, butunauthorized for other users or group of users. For example, theadministrator can restrict certain users from synchronizing on stationslocated in a defined room or area. Similarly, the administrator canallow specific computing nodes 102 to be used as authorizedsynchronization stations. This allows for better implementation ofsecurity and to insure unauthorized access to data by synchronizing ondifferent unauthorized systems does not take place.

The node security profile 208 defines the parameters for synchronizationactions that can or can not be performed on the computing node. The listof authorized computing nodes can be displayed on nodes or servers. Acomputing node can be enabled/disabled as a synchronization station asrequired based on administration request or real-time request from otherresources. The device security profile 206 stored on the mobile devices104 can also include parameters for managing synchronization between themobile device and the computing node.

Mobile Device Discovery

According to another aspect of the invention, a discovery process isused to discover, detect, or locate mobile devices 104, resources basedon specified discovery rules. Various methods can be used to detect anddiscover the mobile devices 104 or resource devices 124. The discoveryof the mobile devices can be done remotely or locally. Remote discoverycan be within a network that comprises domains, with each domainincluding a number of computing nodes. Under this arrangement, thediscovery, detection and location of the mobile devices, resources canbe controlled by a central discovery program 704 or agent, for example,one that runs at the security server 106. Also, the discovery method ofthe present invention can be a local discovery process, where the mobiledevices 102 are discovered or detected locally at a computing node byrunning a discovery agent in the computing node locally as opposed to acentrally. The discovery process can detect and track, how a mobiledevice or external resource is used and on which systems a particularresource or mobile device has synchronized data. The discovery can alsodetect foreign and unknown devices ( that have not been attached to thenetwork earlier) entering a wired or wireless network of anorganization.

FIG. 8 illustrates a diagram for a system that uses the discovery methodof the present invention. According to one embodiment, a system andmethod for managing a computer network involves scanning the networkbased on a scan profile that comprises defined discovery rules. Based onthe discovery rules, this aspect of the invention discovers, detects, orlocates one or more mobile devices or other resources that at one timeor another have attached to the system. One such resource can be astorage device (fixed or removable) that contains sensitive information.For example, USB flash, memory or SD card storage media (or any otherresource) that can attached to the computing node 102 or the mobiledevices 104 using well known protocols. Thus, the discovery method ofthe present invention can discover and secure the storage media or anyother resource that attach to the computing node or mobile devices.

The scan profile can contain information regarding at least one ofnetwork, domain and computing node identity to be scanned.Alternatively, the scan profile can contain information regarding atleast one of network, domain and computing node identity not to bescanned. The discovery program scans the domains or computing nodesbased on the scan profile to discover, detect or locate the mobiledevices, e.g., based on a domain identity. Thus, the scan profiledefines the parameters for connecting to domains, computing nodes andmobile devices.

In a remote discovery process, the discovery program running on thecentral station 118 on server 106 detects the domains of the network.After detecting the domains, local and/or remote the computing nodes 102within the domain are detected by attempts to establish correspondingconnections to the computing nodes. Depending on the computing node, theconnections can be authenticated or unauthenticated. If an attempt toestablish an unauthenticated connection is not successful, an attempt ismade to establish authenticated connection. The connection with eachcomputing node can be authenticated using known authentication features,such as a set of password, for example, the last used password to accessthe computing node. If authentication using the last used password isnot successful, pre-defined or selected passwords can be used to accessthe resources. If no valid password is available, the administrator maybe asked to perform password authentication. Once the authenticated orun-authenticated connection is made, the computing node is accessed todetect mobile devices or resources.

Information regarding discovered, detected, or located mobile device orresources is determined based on any one of a registry resource, a fileresource, a process resource, a network management parameter, acommunication protocol parameter, a data format, a packet format, asynchronization log entry, a directory structure or a database entry.For example, the application registries on the computing node 102 can beinterrogated to determine what type of devices have attached to thenode. More specifically, registry resources are processed to detectdevice type in terms of whether the detected mobile devices is a Palm,Nokia, Research In Motion (RIM), or Windows CE device. The mobiledevices or external resources can leave an imprint in the registrystructure any time they attach to a computing node. The imprint is noterased when a device disconnects. Thus, any device that has attached tothe computing node at any time in the past can be detected andidentified. Alternatively, the devices can be identified based onconnecting to local and remote processes, objects and process requestsor connecting to remote drives, file objects, etc.

FIG. 9 illustrates an interface that shows the discovered mobiledevices. As shown, the computing node “JOSEPH” has a pocket PCattachment directory with a number of unknown mobile devices that at onetime or another have attached to the computing node. As shown,information determined by the discovery process of the present inventioninclude device type, device identity, synchronization software type,synchronization software availability, synchronization softwarelocation, synchronization software version number.

Also determined are information regarding previous synchronizationinformation such as data and time stamp of last synchronization, thetype of device used during previous synchronization, synchronization D).Moreover, information regarding device owner can also be determined bythe discovery process of the present invention including e.g., name,address, company, etc. Still other determined information include typeapplications and files installed or used on the mobile device with filesize file name, file attribute, and manufacturer information, time stampof all completed and incomplete synchronization and data access andconnections performed or made as well as the type of data andinformation transferred to and from mobile device and other resourcesrelative to the computing node.

Also, network management parameters, such as those defined by the SimpleNetwork Management Protocol (SNMP) can be used to locate, detect anddiscover the types of the mobile devices or resources that have attachedto the computing node. Also, the data and packet format as well asassociated transport and network protocol parameters, e.g., TCP, UDP,and IP can be used to locate, detect or discover the type of mobiledevices. Such mobile device type information is used for managingsecurity in the computer network. By processing any of the gatheredinformation, the discovery system and method of the present inventionprovides an, effective management tool for managing all security aspectsof any computer system An exemplary report derived from gatheredinformation by the discovery method of the invention is shown in FIG.10.

Under another arrangement, mobile devices or resources are discovered bya discovery program or agent that runs on the server, only when themobile devices connect to the computing node or using registry, file,process resources, as explained above. Under yet another arrangement,the discovery program runs as an agent in the computing node. Thediscovery agent in the computing node thus can discover and controlunwelcomed devices and resources, based on a node security profile,which defines synchronization and data transfer rules. The detecteddiscovery data can be stored in secure files and transferred to thesecurity server for processing.

The discovery rules for detecting or locating the mobile devices orresources can be either hard-coded in the software or defined as adiscovery or scan profile. Such profiles can be updated on-demand,manually or automatically as required to get an updated discovery orscan profile.

Software Development Kit (SDK)

An SDK provides programming interface to allow the software developersthe ability to integrate the present invention with the other platformprovided with the system.

The security system of the present invention can be implemented usingdefined application programming interfaces (APIs). APIs are contained ina library as a set of software functions that perform various securitytasks. Also defined are the structures and parameters needed tocorrectly call these public functions.

The SDK would help any third party developer to develop securitysolutions. It eliminates the need to write the encryption libraries fromscratch The input and output parameters of these API calls are clearlydefined so that they can be easily embedded in any existing source code.The SDK also helps in providing customized solutions to unique problemsencountered by the customers.

CryptoFileAccess class members Construction CryptoFileAccess ConstructCryptoFileAccess object. bdehart@MWE.com Open Creates or opens a fileobject. Close Closes a file and deletes the object Input/output ReadReads (unbuffered) data from a file at the current file position. WriteWrites (unbuffered) data in a file to the current file position.Position SetPointer Positions the current file pointer. GetPointer Setposition of file pointer. SetSize Set the length of the file. GetSizeGet length of the file Status IsOpen Get file open state.IsFileEncrypted Return status of file (true if encrypted) OperationsEncryptFile Encrypts specified file. DecryptFile Decrypts specifiedfile. Operator HANDLE Get handle to opened file No. Function names  1CryptoFileAccess::CryptoFileAccess( )  2 CryptoFileAccess::CryptoFileAccess(PCSTR pszPassword, CRYPTALGS alg,PCTSTR pszFileName,         DWORD dwDesiredAccess, DWORD       dwCreationDisposition,         DWORD dwFlagsAndAttributes =       FILE_ATTRIBUTE_NORMAL,         SECURITY_ATTRIBUTES*       pSecurityAttributes=0, HANDLEhTemplateFile=0);  3 Void CryptoFileAccess::Open(PCSTR pszPassword,CRYPTALGS alg, PCTSTR pszFileName,    DWORD dwDesiredAccess,DWORDdwCreationDisposition,    DWORDdwFlagsAndAttributes=FILE_ATTRIBUTE_NORMAL, SECURITY_ATTRIBUTES*pSecurityAttributes=0,HANDLEhTemplateFile=0);  4 VoidCryptoFileAccess::Close( )  5 Bool CryptoFileAccess::Write(const void*p, DWORD dwSize, OVERLAPPED * pOverlapped=0)  6 BoolCryptoFileAccess::Read(void* p, DWORD dwSize, OVERLAPPED* pOverlapped=0) 7 DWORD CryptoFileAccess::SetPointer(long l DistanceToMove, DWORDdwMoveMethod)  8 DWORD CryptoFileAccess::GetPointer( )  9 BoolCryptoFileAccess::SetSize(DWORD dwNewSize) 10 boolCryptoFileAccess::IsOpen( ) 11 static boolCryptoFikleAccess::IsFileEncrypted(PCTSTR pszFileName) 12 static boolCryptoFileAccess::EncryptFile(PCSTR pszPassword, CRYPTALGS alg, PCTSTRpszSourceFil e, PCTSTR pszDestFile) 13 static boolCryptoFileAccess::DecryptFile(PCSTR pszPassword, CRYPTALGS alg, PCTSTRpszSourceFil e, PCTSTR pszDestFile)

1. A method for managing a computer system on a network, the computersystem including a computing node located on the network side of anetwork connection on the network and one or more mobile devices locatedon a user's side of the network connection on the network, comprising:running a discovery program on the network side of the networkconnection, the discovery program comprising: scanning the network basedon a scan profile defining at least one parameter for connecting to atleast one of domains, computing nodes, and mobile devices; detecting atleast one domain on the network in accordance with the parametersdefined in the scan profile, detecting at least one computing nodewithin the detected domain in accordance with the parameters defined inthe scan profile, and connecting to at least one of the detectedcomputing nodes in accordance with the parameters defined in the scanprofile, detecting, using the discovery program, one or more mobiledevices connected to the detected computing node; detecting, using thediscovery program, one or more mobile devices that were previously, butare not currently, connected to the detected computing node; determininginformation regarding at least one of the detected mobile devices basedon at least one of a registry resource, a file resource, a processresource, a network management parameter, a data format, a packetformat, a synchronization log entry, a directory structure, a databaseentry, the presence of an executable program and attributes associatedwith a mobile device or resource; and using the determined mobile deviceinformation to manage security of the computer system from the networkside of the network connection.
 2. The method of claim 1, wherein thediscovery program is run in at least one of a remote central station ora local computing node.
 3. The method of claim 1 further includinggrouping the detected mobile devices or resources by type and otherattribute.
 4. The method of claim 1, wherein the scan profile containsinformation regarding at least one of network, domain, IP address,netmask, and computer identity to be scanned, time of synchronizationand device connection.
 5. The method of claim 1, wherein the scanprofile contains information regarding at least one of network, domain,IP address, netmask, and computer identity not to be scanned.
 6. Themethod of claim 1, wherein the results of scanning are analyzed andpopulated and stored and displayed to the users.
 7. The method of claim1, wherein the determined mobile device information includes at leastone of device type, device identity, synchronization software type,synchronization software availability, synchronization softwarelocation, synchronization software version number, previoussynchronization information, data and time of last synchronization, thetype of device used during previous synchronization, synchronization ID,device owner information, type of applications and files installed orused on the mobile device, file size, file name, file attribute,manufacturer information, time of all completed and incompletesynchronization and data access and connections performed, type of dataand information transferred to and from a mobile device and a resource.8. The method of claim 1, further comprising at least one of locking anddenying access to an unauthorized mobile device attempting to access thecomputer system.
 9. The method of claim 1, further comprising a step oflocking an authorized mobile device attempting to access the network.10. The method of claim 9, wherein the locking step comprisestransmitting security software to the mobile device.
 11. The method ofclaim 1, wherein the step of running the discovery program results indetection of at least one of a device type, connection profile, orlocation of at least one of the mobile devices and resource devices.